package com.example.teesystem.service;

import com.example.teesystem.common.websocket.model.PKMessage;

public interface PKService {
    /**
     * 1. 判断玩家是否重复提交匹配请求
     * 2. 将玩家放入到匹配队列中
     * 3. 如果匹配成功，需要建立一个分组，并抽题
     * @param pkMessage
     */
    void startMatch(PKMessage pkMessage);
    
    /**
     * 1. 从匹配队列中移除玩家
     * @param pkMessage
     */
    void quitMatch(PKMessage pkMessage);
    
    /**
     * 1. 验证题目是否正确
     * 2. 若正确，则更新分组信息，并将下一道题传给两个玩家
     * 3. 错误则返回答题错误信息
     * @param pkMessage
     */
    void answer(PKMessage pkMessage);
    
    /**
     * 1. 从分组中统计答题情况
     * 2. 从 userInfos 和 groupInfos 删除信息
     * @param groupId
     */
    void end(String groupId);
    
    /**
     * 断开连接
     * @param uid
     */
    void disconnect(Integer uid);
}
